from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import UserViewSet, CustomTokenObtainPairView, CustomTokenRefreshView

# 创建路由器
router = DefaultRouter()
router.register(r'users', UserViewSet)

urlpatterns = [
    # JWT认证端点 - 使用自定义视图统一响应格式
    path('auth/token/', CustomTokenObtainPairView.as_view(), name='token_obtain_pair'),
    path('auth/token/refresh/', CustomTokenRefreshView.as_view(), name='token_refresh'),

    # 用户管理API
    path('', include(router.urls)),
]

# 生成的URL模式：
# POST   /api/auth/token/               - 用户登录获取Token (自定义视图)
# POST   /api/auth/token/refresh/       - 刷新Token (自定义视图)
# POST   /api/users/register/           - 用户注册
# POST   /api/users/login/              - 用户登录 (ViewSet Action)
# GET    /api/users/profile/            - 获取个人信息
# PUT    /api/users/update_profile/     - 更新个人信息
# POST   /api/users/change_password/    - 修改密码
# GET    /api/users/                    - 用户列表 (管理员)
# POST   /api/users/                    - 创建用户 (管理员)
# GET    /api/users/{id}/               - 用户详情 (管理员)
# PUT    /api/users/{id}/               - 更新用户 (管理员)
# DELETE /api/users/{id}/               - 删除用户 (管理员)
